skeleton
Skill16 starsChanged 9 months agoMITView on GitHub
Extract and navigate a compact structural map and implementation-risk signals for a codebase with the skltn CLI, including declarations, signatures, inheritance, source ranges, parser-range-derived implementation fingerprints, and project-context heuristics. Use when exploring architecture, locating symbols, reviewing an unfamiliar repository, working within a known SwiftPM target, triaging likely stubs or fake wiring, or planning changes across files or modules. Treat the output only as a navigation aid; read the original implementation, relevant callers, and behavioral tests before judging behavior, changing code, or reporting completion.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- frontendsupply/skillstheir own version, first seen Oct 20, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- frontendsupply/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repositoryOne other file it gives its agents.
- AGENTS.mdAGENTS.md
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. About 0 are common, 10 are distinctive, and 12 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
12
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use skltn to locate the source that requires inspection without loading implementation bodies.
- Distinctive: line 14
Use the path supplied by the user.
- Very specific: line 24
When a SwiftPM target or module is known, use --target by default.
- Distinctive: line 26
When the user requests an exact file or directory boundary, use that path without target expansion.
- Very specific: line 27
When no target is known, begin with a repository-wide --headers-only map, identify the relevant target, then switch to target mode.
- Very specific: line 34
Use --path <relative-file> for one indexed file, --language <name> to restrict parsers, and --kind <kind> to restrict supported declaration …
- Distinctive: line 36
Keep path and target intent distinct:
- Distinctive: line 49
Use the skeleton map to choose files and ranges, then read the original code before making an implementation claim or change.
- Distinctive: line 51
Read the complete implementation at the reported range, including adjacent branches and error handling.
- Distinctive: line 52
Read the immediate callers and the concrete dependencies used by that path.
- Distinctive: line 53
Read behavioral tests covering successful and failed execution, not only declaration, type, or construction checks.
- Very specific: line 56
When auditing incomplete implementation, also scan the source marker that skltn does not index:
- Distinctive: line 74
Use unindented declaration headers as the structural overview.
- Very specific: line 76
Treat [impl!:<reason>] as a configured high-confidence pattern match and [impl?:<reason>] as a heuristic review signal.
- Distinctive: line 77
Use the original source as the authority before concluding that an implementation is fake, incomplete, wired incorrectly, or unreachable.
- Very specific: line 79
Treat unindented # parse_error lines as diagnostics, not declarations.
- Very specific: line 81
If full output is too large, rerun with --headers-only and report that the compact view omits properties and methods.
- Very specific: line 92
Use status for index counts, diagnostics for parse errors and incomplete blocks, files for sorted indexed paths, and languages for parsers …
- Very specific: line 116
Treat wire and dead as project-context heuristics.
- Distinctive: line 118
If a marker conflicts with the source, report the source conclusion and identify the marker as a false positive or false negative.
- Very specific: line 120
Read references/output-format.md for the output contract and references/cli.md for the complete command and option reference.
- Very specific: line 124
If skltn is unavailable, install it with Mint:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skeleton
Use skltn to locate the source that requires inspection without loading implementation bodies. Treat its output as a structural index, never as implementation truth.
Workflow
1. Resolve the project root
Use the path supplied by the user. If no path is supplied, use the current working directory.
2. Build a structural map
skltn get [project-root] [options]Choose the narrowest view that preserves the context required by the task:
- When a SwiftPM target or module is known, use
--targetby default. This keeps the focus target complete and adds only the source-visible surface of direct imported local dependencies. - For a large target, begin with
--headers-only, then rerun without it only when member signatures are required. - When the user requests an exact file or directory boundary, use that path without target expansion.
- When no target is known, begin with a repository-wide
--headers-onlymap, identify the relevant target, then switch to target mode.
skltn get <package-root> --target <target-name> --headers-only
skltn get <package-root> --target <target-name>Use --path <relative-file> for one indexed file, --language <name> to restrict parsers, and --kind <kind> to restrict supported declaration kinds.
Keep path and target intent distinct:
skltn get Sources/Feature
skltn get Sources --target FeatureThe first command strictly scans Sources/Feature. The second resolves the SwiftPM target, renders it in full, and adds only source-visible declarations from direct local dependencies that the target imports. Use --access public only when the task needs the externally consumable API surface rather than the target's full implementation-facing structure.
The get command may be omitted. skeleton, get_skeleton, and build are compatibility aliases.
3. Verify the selected source
Use the skeleton map to choose files and ranges, then read the original code before making an implementation claim or change. For each relevant path:
- Read the complete implementation at the reported range, including adjacent branches and error handling.
- Read the immediate callers and the concrete dependencies used by that path.
- Read behavioral tests covering successful and failed execution, not only declaration, type, or construction checks.
- Inspect critical unmarked paths when correctness matters; an absent marker means only that no configured pattern matched.
When auditing incomplete implementation, also scan the source marker that skltn does not index:
rg -n 'FIXME\(INCOMPLETE_IMPLEMENTATION\)' <package-root>/SourcesProceed without source inspection only for a purely structural inventory. Label such conclusions as structural and make no claims about runtime behavior, completeness, correctness, or test adequacy.
4. Search indexed declarations
skltn query [project-root] --q <text> [--limit <count>] [--language <name>]search is an alias. The default limit is 20. A match inside a property or method returns the enclosing declaration block header; a standalone declaration returns its own signature and range.
5. Present results
- Use unindented declaration headers as the structural overview.
- Prioritize declarations with
[impl:<domains>], then open the marked method ranges in the original source. - Treat
[impl!:<reason>]as a configured high-confidence pattern match and[impl?:<reason>]as a heuristic review signal. - Use the original source as the authority before concluding that an implementation is fake, incomplete, wired incorrectly, or unreachable.
- Base behavioral conclusions on inspected source and tests, not skeleton text or markers.
- Treat unindented
# parse_errorlines as diagnostics, not declarations. - Preserve file paths and ranges so the user can open the original source.
- If full output is too large, rerun with
--headers-onlyand report that the compact view omits properties and methods.
Inspection commands
skltn status [project-root] [--language <name>]
skltn diagnostics [project-root] [--language <name>]
skltn files [project-root] [--language <name>]
skltn languagesUse status for index counts, diagnostics for parse errors and incomplete blocks, files for sorted indexed paths, and languages for parsers included in the installed binary.
Filters
Language filters accept repeated flags or comma-separated values. The default build supports swift, kotlin, typescript, go, zig, rust, cpp, python, and java; the actual installed set is authoritative from skltn languages.
Kind filters accept class, struct, enum, protocol, actor, and extension. Parsers can emit additional language-specific header kinds, but the CLI does not accept those additional kinds as filter values.
--access accepts public, package, internal, fileprivate, private, or all. It filters effective access, including containing-declaration caps. In target mode the focus module is unfiltered by default; imported local dependencies default to the visibility available from the focus target. Explicit --access applies to every module. A parser without access metadata produces an explicit unsupported-filter error.
Output and diagnostics
Indented lines contain typed properties and method signatures. Return types are printed whenever the parser extracts one, including Void or void.
Target mode begins sections with module <name> and may add one compact imports: line. Dependency sections carry no role or visibility labels. Swift source-declared type aliases, associated types, enum cases, subscripts, top-level functions, and typed variables are retained as declaration signatures without implementation bodies.
# parse_error <file> means the file contains a parse error or could not be parsed normally. Partial declaration blocks may still follow. (!) marks a declaration block containing an error node. Unknown line positions use ?.
Implementation markers are short signals derived from parser-provided AST evidence and project-context heuristics. Built-in parsers summarize calls, returns, writes, branches, catches, and traps while the syntax tree is alive; function body text is not retained. Compatibility parsers that omit AST evidence use range-based fallback analysis. Reasons are trap, empty, const, noop, flow, error, wire, and dead. Requirement-only declarations are not treated as empty implementations. --headers-only keeps declaration-level [impl:<domains>] summaries.
Reliability boundary
- Markers prioritize source review; they do not perform name resolution, type inference, control-flow proof, data-flow proof, or semantic reachability analysis.
- AST markers are intentionally narrow. They detect configured syntax patterns, not whether a plausible algorithm is semantically correct or intentionally deceptive.
- Treat
wireanddeadas project-context heuristics. Confirm dependency construction and call paths in the source before reporting them as defects. - Findings classified as non-production remain internal and are not rendered. When path classification could affect an audit, inspect the indexed file list and relevant source directly.
- If a marker conflicts with the source, report the source conclusion and identify the marker as a false positive or false negative.
Read references/output-format.md for the output contract and references/cli.md for the complete command and option reference.
CLI availability
If skltn is unavailable, install it with Mint:
mint install 1amageek/swift-skeletonTo build from source:
git clone https://github.com/1amageek/swift-skeleton.git
cd swift-skeleton
swift build -c releaseDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

