AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ctags

skill-benmarte-codemunch-ctags · by benmarte

Index the codebase using Universal ctags when LSP is unavailable for a language. Generates a JSON symbol table with name, kind, file, line, and end line for all detected symbols. Supports 40+ languages natively.

No reviews yet
0 installs
22 views
0.0% view→install

Install

$ agentstack add skill-benmarte-codemunch-ctags

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-benmarte-codemunch-ctags)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ctags? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

ctags Indexing Skill

Use Universal ctags to build a symbol index when LSP is not available.

Check ctags version

# Universal ctags has --output-format=json — we need this
ctags --version 2>&1 | grep -i universal
# If not universal ctags, basic ctags won't have JSON output
# Fall back to parsing classic ctags format instead

Run ctags

universal-ctags \
  --recurse=yes \
  --output-format=json \
  --fields=+n+e+K+S+Z \
  --extras=+q+r \
  --exclude=node_modules \
  --exclude=.git \
  --exclude=target \
  --exclude=__pycache__ \
  --exclude=.claude/codemunch \
  --exclude=dist \
  --exclude=build \
  --exclude=vendor \
  -f - \
  . 2>/dev/null

Field reference

  • n — line number
  • e — end line
  • K — kind (long form: "function", "class", etc.)
  • S — signature
  • Z — scope (container class/module)

Parse output into codemunch format

ctags JSON output per line:

{"_type":"tag","name":"validateToken","path":"src/auth/tokens.ts","pattern":"/^async function validateToken/","kind":"function","line":142,"end":163,"signature":"(token: string): Promise","scope":"AuthService","scopeKind":"class"}

Filter noise kinds: Skip noise kinds: constant, property, variable, enumerator. These inflate the index 15x without adding useful navigation value. Only keep symbols where kind is one of: function, method, class, interface, type, enum, namespace.

Map each kept symbol to codemunch format:

{
  "name": "validateToken",
  "kind": "function",
  "file": "src/auth/tokens.ts",
  "start_line": 142,
  "end_line": 163,
  "signature": "(token: string): Promise",
  "container": "AuthService",
  "engine": "ctags"
}

Classic ctags fallback (non-universal)

If only basic/exuberant ctags is available (no JSON support):

ctags -R --fields=+iaS --extra=+q -f .claude/codemunch/tags .

Parse the tab-separated .claude/codemunch/tags file:

# format: name TAB file TAB pattern TAB kind TAB extensions...
validateToken  src/auth/tokens.ts  /^async function validateToken/  f  line:142

End line is not available in classic ctags — use the rg-fallback skill's brace-counting heuristic.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.