Install
$ agentstack add skill-techygarg-lattice-skill-align ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
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 →About
Lattice Sync
Core responsibility: Keep every public-facing document in sync with the actual skill inventory. The skills directory is the source of truth — all documents derive from it.
Input: None required. Reads the live state of skills/ and all documentation on every run. Optionally: a specific skill name or tier to focus the audit.
Output:
- A findings report listing every gap as
[GAP],[STALE], or[WRONG]with file and description - All found gaps fixed in-place across:
README.md,docs/how-it-works.md,docs/configuration.md,docs/practical-guide.md,CLAUDE.md,.github/ISSUE_TEMPLATE/bug_report.yml - A final clean confirmation: "No gaps found" or a list of what was changed
How to verify this skill did its job:
grep -rn "requirements atom\|framework:requirements\b" \
docs/ README.md CLAUDE.md .github/ skills/ \
--include="*.md" --include="*.yml"
Any result from this grep means the sync is incomplete. A clean run returns no output.
Also verify: every skill in skills/ appears in the bug_report.yml dropdown and the how-it-works.md inventory tables.
When to run
- After creating any new atom, molecule, or refiner
- After renaming or removing a skill
- After changing a skill's config key, consumed-by relationships, or output path
- When a user suspects docs are out of date
Phase 1 — Build the live inventory
Read the skills directory tree. Do NOT assume you already know the inventory — always read from files.
find skills/ -name "SKILL.md" | sort
For each SKILL.md found, extract:
name:field (frontmatter)tier:inferred from path (atoms/,molecules/,refiners/)- Config key: grep for
paths\.\w+in the file - Consumes: grep for
framework:references (molecules only) - Produces: grep for
.lattice/standards/path (refiners only) - Output subfolder: grep for
.lattice/\w+/paths (molecules only)
Build a structured inventory:
atoms: [name, config_key, has_refiner, has_defaults_md]
molecules: [name, composes[], output_subfolder]
refiners: [name, config_key, produces_path, consumed_by_atom]
Read references/audit-checklist.md for the complete per-document audit rules before starting Phase 2.
Phase 2 — Audit each document
Work through every document in this order. For each, apply the checks in references/audit-checklist.md. Log every finding as:
[GAP] file:line — description of what is missing or wrong
[STALE] file:line — description of what refers to something that no longer exists
[WRONG] file:line — description of a relationship (consumed-by, produces) that is incorrect
Documents to audit:
docs/how-it-works.mddocs/configuration.mddocs/practical-guide.mdREADME.mdCLAUDE.md.github/ISSUE_TEMPLATE/bug_report.yml.github/ISSUE_TEMPLATE/skill_request.yml(generic — only check if skill-specific examples are present).github/ISSUE_TEMPLATE/documentation.yml(generic — only check if skill names appear)knowledge-base/requirement-forge-requirements.md(if exists — check it matches current skill names)
Present a consolidated findings report before making any changes:
## Lattice Sync — Findings
### docs/how-it-works.md
[GAP] Atoms table missing: requirement-quality
[STALE] Refiners in Depth: requirement-forge-refiner consumed-by says "molecule" but should say "requirement-quality atom"
### .github/ISSUE_TEMPLATE/bug_report.yml
[GAP] Skill dropdown missing: requirement-quality (atom)
Total: N gaps, M stale references, P wrong relationships
Ask: "Ready to apply all fixes? Or are there any findings you want to skip?"
Phase 3 — Fix
Apply every agreed fix. For each document, make all changes in a single edit pass — do not make multiple passes over the same file.
After all fixes are applied, run one final verification grep to confirm no old references remain:
# Check for stale atom names or wrong consumed-by text
grep -rn "\|consumed.*molecule\|consumed.*wrong" \
docs/ README.md CLAUDE.md .github/ --include="*.md" --include="*.yml"
If the grep returns results, fix them before declaring done.
Phase 4 — Deploy (optional)
If the user wants to push the updated skills to their AI tool's skills directory:
./tools/install.sh /path/to/your/skills/folder
Ask the user for the target path if not provided. Default for Claude Code: ~/.claude/skills/.
Key relationships to always verify
The most error-prone relationship in Lattice documentation is the refiner → atom → molecule chain. Documents frequently drift to say a refiner is "consumed by the molecule" when it's actually consumed by an atom that the molecule composes.
For every refiner in the live inventory, derive the correct relationship dynamically:
- Read the refiner's SKILL.md — find which atom it says consumes it (look for "consumed by" or "reads this document")
- Read that atom's Config Resolution — confirm it reads the same
paths.{key} - Read the molecule that composes that atom — confirm the chain is complete
- If any document says the refiner is consumed by the molecule directly (not the atom), flag
[WRONG]
Exception: review-refiner is consumed by the review molecule directly — it configures the molecule's workflow, not an atom. This is the only correct molecule-direct consumption in the current framework.
Known .lattice/ subfolders
Every molecule that writes living documents must use a named subfolder. If a new molecule is found that writes to .lattice/ and its subfolder is not in this list, flag it for addition to CLAUDE.md:
standards/— refiner outputscontext/— feature anchor docs (context-anchoring atom)learnings/— review insightsreviews/— review logtransform/— plan-transformation outputrequirements/— requirement-forge output
What good looks like
The sync is complete when:
- Every skill in
skills/appears in thedocs/how-it-works.mdinventory tables - Every refiner has a correct entry in
docs/configuration.mdpaths table with the right consumed-by atom - Every molecule appears in
bug_report.ymlskill dropdown - Every atom appears in
bug_report.ymlskill dropdown - Every refiner appears in
bug_report.ymlskill dropdown CLAUDE.mdknown subfolders list covers every.lattice/output directory- No document contains a skill name that no longer exists in
skills/ - The pipeline descriptions in
README.mdanddocs/how-it-works.mduse current molecule names in the right order
See references/audit-checklist.md for the exhaustive per-document rules.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: techygarg
- Source: techygarg/lattice
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.